package wodegua.d31_java高级.d1_junit;

/**
 * 单元测试
 * 1.就是针对最小的功能单元(方法)，编写测试代码对其进行正确性测试。
 *
 * 咱们之前是如何进行单元测试的?有啥问题?
 * 1.只能在main方法编写测试代码，去调用其他方法进行测试。
 * 2.无法实现自动化测试，一个方法测试失败，可能影响其他方法的测试。
 * 3.无法得到测试的报告，需要程序员自己去观察测试是否成功。
 *
 * Junit单元测试框架
 * 1.可以用来对方法进行测试，它是第三方公司开源出来的(很多开发工具已经集成了junit框架，比如IDEA)
 *
 * 优点
 * 1.可以灵活的编写测试代码，可以针对某个方法执行测试，也支持一键完成对全部方法的自动化测试，且各自独立。
 * 2.不需要程序员去分析测试的结果，会自动生成测试报告出来。
 *
 * Junit单元测试-快速入门
 * 需求
 * 1.某个系统，有多个业务方法，请使用Junit单元测试框架，编写测试代码，完成对这些方法的正确性测试
 *
 * 具体步骤
 * ① 将junit框架的jar包导入到项目中(注意:IDEA集成了Junit框架，不需要我们自己手工导入了)
 * ② 为需要测试的业务类，定义对应的测试类，并为每个业务方法，编写对应的测试方法(必须:公共、无参、无返回值)
 * ③ 测试方法上必须声明@Test注解，然后在测试方法中，编写代码调用被测试的业务方法进行测试;
 * ④ 开始测试:选中测试方法，右键选择“JUnit运行”，如果测试通过则是绿色;如果测试失败，则是红色
 *
 * Junit单元测试框架的常用注解(Junit 4.xxxx版本)
 * 注解
 * @Test    测试类中的方法必须用它修饰才能成为测试方法，才能启动执行
 * @Before  用来修饰一个实例方法，该方法会在每一个测试方法执行之前执行一次。
 * @After   用来修饰一个实例方法，该方法会在每一个测试方法执行之后执行一次。
 * @BeforeClass     用来修饰一个静态方法，该方法会在所有测试方法之前只执行一次。
 * @AfterClass  用来修饰一个静态方法，该方法会在所有测试方法之后只执行一次。
 * 1.在测试方法执行前执行的方法，常用于:初始化资源。
 * 2.在测试方法执行完后再执行的方法，常用于:释放资源。
 */
public class Test {
    public static void main(String[] args) {

    }
}
